comp_include _get_cword


_mount()
{       local cur i sm host

    COMPREPLY=()
    cur=`_get_cword`
    [[ "$cur" == \\ ]] && cur="/"

    for i in {,/usr}/{,s}bin/showmount; do [ -x $i ] && sm=$i && break; done

    if [ -n "$sm" ] && [[ "$cur" == *:* ]]; then
        COMPREPLY=( $( $sm -e ${cur%%:*} | sed 1d | \
                   grep ^${cur#*:} | awk '{print $1}' ) )
    elif [[ "$cur" == //* ]]; then
        host=${cur#//}
        host=${host%%/*}
        if [ -n "$host" ]; then
            COMPREPLY=( $( compgen -W "$( echo $( smbclient -d 0 -NL $host 2>/dev/null|
            sed -ne '/^['"$'\t '"']*Sharename/,/^$/p' |
            sed -ne '3,$s|^[^A-Za-z]*\([^'"$'\t '"']*\).*$|//'$host'/\1|p' ) )" -- "$cur" ) )
        fi
    elif [ -r /etc/vfstab ]; then
        # Solaris
        COMPREPLY=( $( awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' \
                /etc/vfstab | grep "^$cur" ) )
    elif [ ! -e /etc/fstab ]; then
        # probably Cygwin
        COMPREPLY=( $( mount | awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' \
                 | grep "^$cur" ) )
    else
        # probably Linux
        COMPREPLY=( $( awk '! /^[ \t]*#/ {if ($2 ~ /\//) print $2}' \
                /etc/fstab | grep "^$cur" ) )
    fi

    return 0
}
